package sv.gob.mh.dgii.model;

// Generated Dec 10, 2007 4:52:21 PM by Hibernate Tools 3.2.0.beta7

import java.io.Serializable;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;

/**
 * DcResolucion generated by hbm2java
 */
@Entity
@Table(name = "DC_RESOLUCION", schema = "EDADEPUDOC", uniqueConstraints = {})
public class DcResolucion implements Serializable {

	// Fields

	/**
	 * 
	 */
	private static final long serialVersionUID = 5887245031902833935L;

	private String nresolucion;

	private TbMoneda tbMoneda;

	private TbAdmTrib tbAdmTrib;

	private TbResolucion tbResolucion;

	private TbObligacion tbObligacion;

	private RcRuc rcRuc;

	private String cusuario;

	private String cusuarioTrans;

	private String nfolioForma;

	private Date fnotificacion;

	private Date fcausaEstado;

	private Date frecurso;

	private Double vtotResol;

	private Date femisionResol;

	private String nresolOriginal;

	private Integer bresolPlazo;

	private String sobservacion;

	private String dentEmisFianza;

	private Date fifianza;

	private Date fffianza;

	private String ndocAfecta;

	private Date fhingreso;

	private Date fhingresoFin;

	private Integer bprocTrans;

	private Integer bstatus;

	private Double vtasaResol;

	private String nitrepresentante;

	private String mrentaPatrim;

	private Date fpago;

	private String mclaseResol;

	private String mtipoInforme;

	private Date finfFiscal;

	private String mformaReint;

	private String cunidad;

	private Double vacreditado;

	private Double vcompensado;

	private Double vdevolEfectivo;

	private Integer bdenegada;

	private String nresolCumplase;

	private String nresolClase;

	private String nresolSustituye;

	private Integer binactivaCuenta;

	private Integer bmandamientos;

	private String noficioResol; /* adic x mirday el 30/11/2009 s.bug 2569 */

	private String nreferenciaResol; /* adic x mirday el 30/11/2009 s.bug 2569 */

	private Double vmontoFianza; /* adic x mirday el 041209 s. bug 2556 */

 

	public DcResolucion(String nresolucion) {
		this.nresolucion = nresolucion;

	}

	@Column(name = "B_INACTIVA_CTACTE")
	public Integer getBinactivaCuenta() {
		return binactivaCuenta;
	}

	public void setBinactivaCuenta(Integer binactivaCuenta) {
		this.binactivaCuenta = binactivaCuenta;
	}

	@Column(name = "N_RESOL_SUSTITUYE", length = 5)
	public String getNresolSustituye() {
		return nresolSustituye;
	}

	public void setNresolSustituye(String nresolSustituye) {
		this.nresolSustituye = nresolSustituye;
	}

	@Column(name = "N_RESOL_CLASE", length = 5)
	public String getNresolClase() {
		return nresolClase;
	}

	public void setNresolClase(String nresolClase) {
		this.nresolClase = nresolClase;
	}

	@Column(name = "N_RESOL_CUMPLASE", length = 50)
	public String getNresolCumplase() {
		return nresolCumplase;
	}

	public void setNresolCumplase(String nresolCumplase) {
		this.nresolCumplase = nresolCumplase;
	}

	private Set<CcReciboResol> ccReciboResols = new HashSet<CcReciboResol>(0);

	private Set<DcControlArchivo> dcControlArchivos = new HashSet<DcControlArchivo>(0);

	private Set<DcResolDet> dcResolDets = new HashSet<DcResolDet>(0);

	private Set<DcResolucionTaii> dcResolucionTaiis = new HashSet<DcResolucionTaii>(0);

	// Constructors

	/** default constructor */
	public DcResolucion() {
		this.binactivaCuenta = new Integer(0);
	}

	/** minimal constructor */
	public DcResolucion(String nresolucion, TbMoneda tbMoneda, TbAdmTrib tbAdmTrib,
			TbResolucion tbResolucion, String cusuario, String nfolioForma, Double vtotResol,
			Date femisionResol, Date fhingreso, Integer bdenegada) {
		this.nresolucion = nresolucion;
		this.tbMoneda = tbMoneda;
		this.tbAdmTrib = tbAdmTrib;
		this.tbResolucion = tbResolucion;

		this.cusuario = cusuario;
		this.nfolioForma = nfolioForma;
		this.vtotResol = vtotResol;
		this.femisionResol = femisionResol;
		this.fhingreso = fhingreso;
		this.bdenegada = bdenegada;
	}

	/** full constructor */
	public DcResolucion(String nresolucion, TbMoneda tbMoneda, TbAdmTrib tbAdmTrib,
			TbResolucion tbResolucion, RcRuc rcRuc, String cusuario, String cusuarioTrans,
			String nfolioForma, Date fnotificacion, Date fcausaEstado, Date frecurso,
			Double vtotResol, Date femisionResol, String nresolOriginal, Integer bresolPlazo,
			String sobservacion, String dentEmisFianza, Date fifianza, Date fffianza,
			String ndocAfecta, Date fhingreso, Integer bprocTrans, Integer bstatus,
			Double vtasaResol, String nitrepresentante, String mrentaPatrim, Date fpago,
			String mclaseResol, String mtipoInforme, Date finfFiscal, String mformaReint,
			String cunidad, Double vacreditado, Double vcompensado, Double vdevolEfectivo,
			Integer bdenegada, String noficioResol, String nreferenciaResol, Double vmontoFianza,
			Set<CcReciboResol> ccReciboResols, Set<DcControlArchivo> dcControlArchivos,
			Set<DcResolDet> dcResolDets, Set<DcResolucionTaii> dcResolucionTaiis) {
		this.nresolucion = nresolucion;
		this.tbMoneda = tbMoneda;
		this.tbAdmTrib = tbAdmTrib;
		this.tbResolucion = tbResolucion;
		this.rcRuc = rcRuc;

		this.cusuario = cusuario;
		this.cusuarioTrans = cusuarioTrans;
		this.nfolioForma = nfolioForma;
		this.fnotificacion = fnotificacion;
		this.fcausaEstado = fcausaEstado;
		this.frecurso = frecurso;
		this.vtotResol = vtotResol;
		this.femisionResol = femisionResol;
		this.nresolOriginal = nresolOriginal;
		this.bresolPlazo = bresolPlazo;
		this.sobservacion = sobservacion;
		this.dentEmisFianza = dentEmisFianza;
		this.fifianza = fifianza;
		this.fffianza = fffianza;
		this.ndocAfecta = ndocAfecta;
		this.fhingreso = fhingreso;
		this.bprocTrans = bprocTrans;
		this.bstatus = bstatus;
		this.vtasaResol = vtasaResol;
		this.nitrepresentante = nitrepresentante;
		this.mrentaPatrim = mrentaPatrim;
		this.fpago = fpago;
		this.mclaseResol = mclaseResol;
		this.mtipoInforme = mtipoInforme;
		this.finfFiscal = finfFiscal;
		this.mformaReint = mformaReint;
		this.cunidad = cunidad;
		this.vacreditado = vacreditado;
		this.vcompensado = vcompensado;
		this.vdevolEfectivo = vdevolEfectivo;
		this.bdenegada = bdenegada;
		this.ccReciboResols = ccReciboResols;
		this.dcControlArchivos = dcControlArchivos;
		this.dcResolDets = dcResolDets;
		this.dcResolucionTaiis = dcResolucionTaiis;
		this.noficioResol = noficioResol;
		this.nreferenciaResol = nreferenciaResol;
		this.vmontoFianza = vmontoFianza;
	}

	// Property accessors
	@Id
	@Column(name = "N_RESOLUCION", unique = true, nullable = false, insertable = true, updatable = true, length = 15)
	public String getNresolucion() {
		return this.nresolucion;
	}

	public void setNresolucion(String nresolucion) {
		this.nresolucion = nresolucion;
	}

	@ManyToOne(cascade = {}, fetch = FetchType.EAGER)
	@JoinColumn(name = "C_MONEDA", unique = false, nullable = false, insertable = true, updatable = true)
	public TbMoneda getTbMoneda() {
		return this.tbMoneda;
	}

	public void setTbMoneda(TbMoneda tbMoneda) {
		this.tbMoneda = tbMoneda;
	}

	@ManyToOne(cascade = {}, fetch = FetchType.EAGER)
	@JoinColumn(name = "C_ADM_TRIB", unique = false, nullable = false, insertable = true, updatable = true)
	public TbAdmTrib getTbAdmTrib() {
		return this.tbAdmTrib;
	}

	public void setTbAdmTrib(TbAdmTrib tbAdmTrib) {
		this.tbAdmTrib = tbAdmTrib;
	}

	@ManyToOne(cascade = {}, fetch = FetchType.EAGER)
	@JoinColumn(name = "C_RESOLUCION", unique = false, nullable = false, insertable = true, updatable = true)
	public TbResolucion getTbResolucion() {
		return this.tbResolucion;
	}

	public void setTbResolucion(TbResolucion tbResolucion) {
		this.tbResolucion = tbResolucion;
	}

	/**
	 * @return the tbObligacion
	 */
	@ManyToOne(cascade = {}, fetch = FetchType.LAZY)
	@JoinColumn(name = "C_OBLIGACION", unique = false, nullable = true, insertable = true, updatable = true)
	public TbObligacion getTbObligacion() {
		return tbObligacion;
	}

	/**
	 * @param tbObligacion
	 *            the tbObligacion to set
	 */
	public void setTbObligacion(TbObligacion tbObligacion) {
		this.tbObligacion = tbObligacion;
	}

	@ManyToOne(cascade = {}, fetch = FetchType.EAGER)
	@JoinColumn(name = "NIT", unique = false, nullable = true, insertable = true, updatable = true)
	public RcRuc getRcRuc() {
		return this.rcRuc;
	}

	public void setRcRuc(RcRuc rcRuc) {
		this.rcRuc = rcRuc;
	}

	@Column(name = "C_USUARIO", unique = false, nullable = false, insertable = true, updatable = true, length = 30)
	public String getCusuario() {
		return this.cusuario;
	}

	public void setCusuario(String cusuario) {
		this.cusuario = cusuario;
	}

	@Column(name = "N_OFICIO_RESOL", unique = false, nullable = true, insertable = true, updatable = true, length = 30)
	public String getNoficioResol() {
		return this.noficioResol;
	}

	public void setNoficioResol(String noficioResol) {
		this.noficioResol = noficioResol;
	}

	@Column(name = "N_REFERENCIA_RESOL", unique = false, nullable = true, insertable = true, updatable = true, length = 30)
	public String getNreferenciaResol() {
		return this.nreferenciaResol;
	}

	public void setNreferenciaResol(String nreferenciaResol) {
		this.nreferenciaResol = nreferenciaResol;
	}

	@Column(name = "V_MONTO_FIANZA", unique = false, insertable = true, updatable = true, precision = 13)
	public Double getVmontoFianza() {
		return this.vmontoFianza;
	}

	public void setVmontoFianza(Double vmontoFianza) {
		this.vmontoFianza = vmontoFianza;
	}

	@Column(name = "C_USUARIO_TRANS", unique = false, nullable = true, insertable = true, updatable = true, length = 30)
	public String getCusuarioTrans() {
		return this.cusuarioTrans;
	}

	public void setCusuarioTrans(String cusuarioTrans) {
		this.cusuarioTrans = cusuarioTrans;
	}

	@Column(name = "N_FOLIO_FORMA", unique = false, nullable = false, insertable = true, updatable = true, length = 12)
	public String getNfolioForma() {
		return this.nfolioForma;
	}

	public void setNfolioForma(String nfolioForma) {
		this.nfolioForma = nfolioForma;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "F_NOTIFICACION", unique = false, nullable = true, insertable = true, updatable = true, length = 7)
	public Date getFnotificacion() {
		return this.fnotificacion;
	}

	public void setFnotificacion(Date fnotificacion) {
		this.fnotificacion = fnotificacion;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "F_CAUSA_ESTADO", unique = false, nullable = true, insertable = true, updatable = true, length = 7)
	public Date getFcausaEstado() {
		return this.fcausaEstado;
	}

	public void setFcausaEstado(Date fcausaEstado) {
		this.fcausaEstado = fcausaEstado;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "F_RECURSO", unique = false, nullable = true, insertable = true, updatable = true, length = 7)
	public Date getFrecurso() {
		return this.frecurso;
	}

	public void setFrecurso(Date frecurso) {
		this.frecurso = frecurso;
	}

	@Column(name = "V_TOT_RESOL", unique = false, nullable = false, insertable = true, updatable = true, precision = 11)
	public Double getVtotResol() {
		return this.vtotResol;
	}

	public void setVtotResol(Double vtotResol) {
		this.vtotResol = vtotResol;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "F_EMISION_RESOL", unique = false, nullable = false, insertable = true, updatable = true, length = 7)
	public Date getFemisionResol() {
		return this.femisionResol;
	}

	public void setFemisionResol(Date femisionResol) {
		this.femisionResol = femisionResol;
	}

	@Column(name = "N_RESOL_ORIGINAL", unique = false, nullable = true, insertable = true, updatable = true, length = 12)
	public String getNresolOriginal() {
		return this.nresolOriginal;
	}

	public void setNresolOriginal(String nresolOriginal) {
		this.nresolOriginal = nresolOriginal;
	}

	@Column(name = "B_RESOL_PLAZO", unique = false, nullable = true, insertable = true, updatable = true, precision = 1, scale = 0)
	public Integer getBresolPlazo() {
		return this.bresolPlazo;
	}

	public void setBresolPlazo(Integer bresolPlazo) {
		this.bresolPlazo = bresolPlazo;
	}

	@Column(name = "S_OBSERVACION", unique = false, nullable = true, insertable = true, updatable = true, length = 4000)
	public String getSobservacion() {
		return this.sobservacion;
	}

	public void setSobservacion(String sobservacion) {
		this.sobservacion = sobservacion;
	}

	@Column(name = "D_ENT_EMIS_FIANZA", unique = false, nullable = true, insertable = true, updatable = true, length = 40)
	public String getDentEmisFianza() {
		return this.dentEmisFianza;
	}

	public void setDentEmisFianza(String dentEmisFianza) {
		this.dentEmisFianza = dentEmisFianza;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FI_FIANZA", unique = false, nullable = true, insertable = true, updatable = true, length = 7)
	public Date getFifianza() {
		return this.fifianza;
	}

	public void setFifianza(Date fifianza) {
		this.fifianza = fifianza;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FF_FIANZA", unique = false, nullable = true, insertable = true, updatable = true, length = 7)
	public Date getFffianza() {
		return this.fffianza;
	}

	public void setFffianza(Date fffianza) {
		this.fffianza = fffianza;
	}

	@Column(name = "N_DOC_AFECTA", unique = false, nullable = true, insertable = true, updatable = true, length = 15)
	public String getNdocAfecta() {
		return this.ndocAfecta;
	}

	public void setNdocAfecta(String ndocAfecta) {
		this.ndocAfecta = ndocAfecta;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FH_INGRESO", unique = false, nullable = false, insertable = true, updatable = true, length = 7)
	public Date getFhingreso() {
		return this.fhingreso;
	}

	public void setFhingreso(Date fhingreso) {
		this.fhingreso = fhingreso;
	}

	@Column(name = "B_PROC_TRANS", unique = false, nullable = true, insertable = true, updatable = true, precision = 1, scale = 0)
	public Integer getBprocTrans() {
		return this.bprocTrans;
	}

	public void setBprocTrans(Integer bprocTrans) {
		this.bprocTrans = bprocTrans;
	}

	@Column(name = "B_STATUS", unique = false, nullable = true, insertable = true, updatable = true, precision = 1, scale = 0)
	public Integer getBstatus() {
		return this.bstatus;
	}

	public void setBstatus(Integer bstatus) {
		this.bstatus = bstatus;
	}

	@Column(name = "V_TASA_RESOL", unique = false, nullable = true, insertable = true, updatable = true, precision = 4)
	public Double getVtasaResol() {
		return this.vtasaResol;
	}

	public void setVtasaResol(Double vtasaResol) {
		this.vtasaResol = vtasaResol;
	}

	@Column(name = "NIT_REPRESENTANTE", unique = false, nullable = true, insertable = true, updatable = true, length = 14)
	public String getNitrepresentante() {
		return this.nitrepresentante;
	}

	public void setNitrepresentante(String nitrepresentante) {
		this.nitrepresentante = nitrepresentante;
	}

	@Column(name = "M_RENTA_PATRIM", unique = false, nullable = true, insertable = true, updatable = true, length = 1)
	public String getMrentaPatrim() {
		return this.mrentaPatrim;
	}

	public void setMrentaPatrim(String mrentaPatrim) {
		this.mrentaPatrim = mrentaPatrim;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "F_PAGO", unique = false, nullable = true, insertable = true, updatable = true, length = 7)
	public Date getFpago() {
		return this.fpago;
	}

	public void setFpago(Date fpago) {
		this.fpago = fpago;
	}

	@Column(name = "M_CLASE_RESOL", unique = false, nullable = true, insertable = true, updatable = true, length = 1)
	public String getMclaseResol() {
		return this.mclaseResol;
	}

	public void setMclaseResol(String mclaseResol) {
		this.mclaseResol = mclaseResol;
	}

	@Column(name = "M_TIPO_INFORME", unique = false, nullable = true, insertable = true, updatable = true, length = 1)
	public String getMtipoInforme() {
		return this.mtipoInforme;
	}

	public void setMtipoInforme(String mtipoInforme) {
		this.mtipoInforme = mtipoInforme;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "F_INF_FISCAL", unique = false, nullable = true, insertable = true, updatable = true)
	public Date getFinfFiscal() {
		return this.finfFiscal;
	}

	public void setFinfFiscal(Date finfFiscal) {
		this.finfFiscal = finfFiscal;
	}

	@Column(name = "M_FORMA_REINT", unique = false, nullable = true, insertable = true, updatable = true, length = 1)
	public String getMformaReint() {
		return this.mformaReint;
	}

	public void setMformaReint(String mformaReint) {
		this.mformaReint = mformaReint;
	}

	@Column(name = "C_UNIDAD", unique = false, nullable = true, insertable = true, updatable = true, length = 5)
	public String getCunidad() {
		return this.cunidad;
	}

	public void setCunidad(String cunidad) {
		this.cunidad = cunidad;
	}

	@Column(name = "V_ACREDITADO", unique = false, nullable = true, insertable = true, updatable = true, precision = 13)
	public Double getVacreditado() {
		return this.vacreditado;
	}

	public void setVacreditado(Double vacreditado) {
		this.vacreditado = vacreditado;
	}

	@Column(name = "V_COMPENSADO", unique = false, nullable = true, insertable = true, updatable = true, precision = 13)
	public Double getVcompensado() {
		return this.vcompensado;
	}

	public void setVcompensado(Double vcompensado) {
		this.vcompensado = vcompensado;
	}

	@Column(name = "V_DEVOL_EFECTIVO", unique = false, nullable = true, insertable = true, updatable = true, precision = 13)
	public Double getVdevolEfectivo() {
		return this.vdevolEfectivo;
	}

	public void setVdevolEfectivo(Double vdevolEfectivo) {
		this.vdevolEfectivo = vdevolEfectivo;
	}

	@Column(name = "B_DENEGADA", unique = false, nullable = false, insertable = true, updatable = true, precision = 1, scale = 0)
	public Integer getBdenegada() {
		return this.bdenegada;
	}

	public void setBdenegada(Integer bdenegada) {
		this.bdenegada = bdenegada;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "dcResolucion")
	public Set<CcReciboResol> getCcReciboResols() {
		return this.ccReciboResols;
	}

	public void setCcReciboResols(Set<CcReciboResol> ccReciboResols) {
		this.ccReciboResols = ccReciboResols;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "dcResolucion")
	public Set<DcControlArchivo> getDcControlArchivos() {
		return this.dcControlArchivos;
	}

	public void setDcControlArchivos(Set<DcControlArchivo> dcControlArchivos) {
		this.dcControlArchivos = dcControlArchivos;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "dcResolucion")
	public Set<DcResolDet> getDcResolDets() {
		return this.dcResolDets;
	}

	public void setDcResolDets(Set<DcResolDet> dcResolDets) {
		this.dcResolDets = dcResolDets;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "dcResolucion")
	public Set<DcResolucionTaii> getDcResolucionTaiis() {
		return this.dcResolucionTaiis;
	}

	public void setDcResolucionTaiis(Set<DcResolucionTaii> dcResolucionTaiis) {
		this.dcResolucionTaiis = dcResolucionTaiis;
	}

	@Transient
	public Date getFhingresoFin() {
		return fhingresoFin;
	}

	public void setFhingresoFin(Date fhingresoFin) {
		this.fhingresoFin = fhingresoFin;
	}

	@Column(name = "B_MANDAMIENTOS", precision = 1, scale = 0)
	public Integer getBmandamientos() {
		return bmandamientos;
	}

	public void setBmandamientos(Integer bmandamientos) {
		this.bmandamientos = bmandamientos;
	}

	 

}
